package com.example.dao;

import com.example.bean.Messages;
import com.example.utils.BaseDao;

import java.util.ArrayList;
import java.util.List;

public class MessagesDao extends BaseDao {
    public int addMessage(Messages messages) {   //addMessage 用于添加新的留言到数据库
        int row = 0;
        String sql = "insert into messages(author,content) values(?,?)";
        try {
            getConnection();
            ps = con.prepareStatement(sql);
            //第一个问号 ? 被替换为留言的作者，第二个问号被替换为留言的内容。
            ps.setString(1, messages.getAuthor());
            ps.setString(2, messages.getContent());

            row = ps.executeUpdate();//将受影响的行数赋值给 row 变量

            //异常捕获块
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            close();
        }
        return row;
    }


    public List<Messages> getAllMessage() {    //getAllMessage 用于检索数据库中的所有留言
        List<Messages> list = new ArrayList<>();//存储从数据库中检索到的 Messages 对象
        try {
            getConnection(); //调用 BaseDao 类中的方法获取数据库连接
            String sql = "select * from messages";
            ps = con.prepareStatement(sql);
            rs = ps.executeQuery();
            while (rs.next()) {
                Messages messages = new Messages();
                messages.setId(rs.getInt("id"));
                messages.setAuthor(rs.getString("author"));
                messages.setContent(rs.getString("content"));
                messages.setCreate_time(rs.getTimestamp("create_time"));
                list.add(messages);//将填充好的 Messages 对象添加到列表中
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            close();
        }
        return list;//返回上一层
    }
}
